Data networks are used for interchanging data organized in the form of data packets. Identical types of data networks are connected to one another by so-called bridges, while different types of data networks require so-called coupling computers or gateways. In large data networks of the same type coupled to one another, the data paths are stipulated by so-called routers. A router is a linking computer between two data networks. It forms part of the three bottommost layers in the OSI layer model and controls which path a data packet which is to be transmitted will take. Unlike bridges, routers have a dedicated MAC address, so that they behave toward stations as though they themselves are communicating parties. Routers are networked with one another and regularly exchange information about configurations, line items, number of routers in the data path, error rates and bit rate capacity with one another using a routing protocol. The routers exchange this information using particular protocols, with multiprotocol routers being standard today, that is to say routers which are able to process various protocols. The performance coefficient of a router is the throughput of the router, which is indicated either in data packets/second or in bytes/second. In addition, the performance of a router depends on the processing time for a data packet and on the time between the data processing for two data packets. Both add up to form the time spent by a data packet in the router.
Data packets comprise header data or a header, useful data (the so-called payload) and terminal data or a trailer. The header or the header data contains various administration data for the data packet, for example address, data packet number, transmitter identification, data packet status etc. The useful data contain the actual information which is to be transmitted.
A conventional router permits the transmission of data between various fast Internet data networks, such as OC-12 or OC-48 interfaces. OC-12 has a data transmission rate of 622 Mbits/second, and OC-48 has a data transmission rate of 2.5 Gbits/second. For bidirectional connections, an OC-48 interface results in a data throughput of 5.0 Gbits/second. These extremely high data transmission speeds place high demands on the production of the data transmission routers.
FIG. 1 shows the basic design of a conventional router based on the prior art. The router connects a first local area data network LAN1 to a second local area network LAN2. The router is connected to the data networks by means of data processing blocks in the physical layer. The physical data processing blocks are used for setting up, maintaining and restoring physical data connections, for coding/decoding, for synchronizing and regenerating the transmission clock and for the so-called smoothing functions. The physical data processing blocks PHY extract the data bits from the data stream arriving via the analog lines, or output them to said analog lines. The physical data processing blocks PHY are respectively connected to a line card. A line card respectively contains an input/output port IO and a data forwarding circuit DW. The two line cards of the router are connected to a switch or to a switching mechanism S.
FIG. 2 shows a data path within a line card of a conventional router based on the prior art. The applied data packet is routed through the entire data path. First, the data packet enters an input buffer, in which it is buffer-stored. Header data processing, the data processing of the data contained in the header of the data packet, then takes place. The data packet is forwarded and switched and finally enters an output buffer. So-called scheduling then takes place in a scheduler in a further step. The isolated data processing units, i.e. the header data distribution unit, the forwarding circuit and the scheduler need to operate quickly enough to prevent the buffer memory from overflowing. These units are therefore conventionally implemented in the form of application specific integrated circuits, so-called ASICs.
The Internet is distinguished by a high level of growth and flexibility. In particular, Internet services like security, quality of service QOS and traffic engineering are subject to various configurations and modifications. Conventional routers, whose processing units are implemented in the form of ASICs, have the disadvantage that they are inflexible for configuration changes, since their hardware is stipulated. Routers have therefore been proposed which are programmable and contain processors. Since the data processing speed of an individual processor cannot keep up with the transmission speed of normal data transmission networks, multiprocessor routers having a plurality of processors and a pipeline architecture have been proposed.
FIG. 3 shows such a conventional multiprocessor router with pipeline architecture based on the prior art. In this case, the router contains a plurality of processors P1–P4, each assigned specific tasks. In this context, by way of example, the three series-connected processors P1–P3 perform various data processing tasks for header data, and the processor P4 performs the scheduling.
Although such multiprocessor routers result in an increase in the data processing speed, they have the disadvantage that various different processors P1–P4 need to be programmed for the different tasks. Furthermore, testing such conventional multiprocessor routers becomes much more difficult on account of the use of processors programmed in various different ways.